func main() {
	username := "root"
	passwd := "123456"
	balance := 1000 //卡里的初始金额
	flag := 0       //flag=0，三次循环后登陆失败；登录成功置为1
	for i := 1; i < 4; i++ {
		var user, user_passwd string
		fmt.Println("请输入用户名>>>")
		fmt.Scan(&user)
		fmt.Println("请输入用户密码>>>")
		fmt.Scan(&user_passwd)
		if user == username && user_passwd == passwd {
			fmt.Println("登陆成功！")
			flag = 1
			for {
				input := 0
				menu() //打印服务菜单
				fmt.Scan(&input)
				if input == 1 {
					balance = cash_in(balance) //输入1时存款
				} else if input == 2 {
					balance = cash_out(balance) //输入2时取款
				} else if input == 3 {
					balance_inquiry(balance) //输入3时查看余额
				} else if input == 4 {
					exit_sys() //输入4时退出系统
					break
				} else {
					fmt.Println("您输入的选择数字有误，请重新输入>>>")
				}
			}
			fmt.Println("退出，祝您生活愉快！")
			break
		} else {
			fmt.Println("登陆失败，请重新输入！")
		}
	}
	if flag == 0 {
		fmt.Println("登录失败，已退出。")
	}
}

// 0、菜单
func menu() {
	fmt.Println("-------按1存款--------")
	fmt.Println("-------按2取款--------")
	fmt.Println("-------按3查询余额-----")
	fmt.Println("-------按4退出服务-----")
}

// 1、存款
func cash_in(balance int) int {
	var cash_add int
	fmt.Printf("请输入您的存款金额>>>")
	fmt.Scan(&cash_add)
	balance += cash_add
	fmt.Printf("存款成功！你当前的余额为%d\n", balance)
	return balance
}

// 2、取款
func cash_out(balance int) int {
	var cash_out int
	fmt.Printf("请输入您的取款金额>>>")
	fmt.Scan(&cash_out)
	if (balance - cash_out) < 0 {
		fmt.Printf("老铁，你的卡里只有%d了,拿不出%d块\n", balance, cash_out)
	} else {
		balance -= cash_out
		fmt.Printf("取款成功，您当前的余额为%d\n", balance)
	}
	return balance
}

// 3、查询余额
func balance_inquiry(balance int) {
	fmt.Printf("您当前的余额为%d\n", balance)
}

// 4、退出系统
func exit_sys() {
	fmt.Println("EXIT")
}

